Automated exploitation of shade-giving structures

ABSTRACT

In the present disclosure, operations may include obtaining a parking area constraint, a time constraint, and one or more mobile machine parameters. The operations may include determining a first parking position within the parking area during the time period. The operations may include identifying one or more shade-providing objects. The operations may include determining, based on the one or more shade-providing objects, one or more shadow profiles. The operations may include determining, based on the time constraint, the parking area constraint, and the one or more shadow profiles, a first shadow-position relationship that indicates shade provided at the first parking position during the time period. In addition, the operations may include selecting the first parking position based on the first shadow-position relationship and the one or more mobile machine parameters. The operations may further include, in response to the selecting, causing the mobile machine to park at the first parking position.

FIELD

The embodiments discussed in the present disclosure are related toautomated exploitation of shade-giving structures.

BACKGROUND

External environment conditions, (e.g., weather conditions, a geographiclocation, objects in the external environment, etc.) may affect theamount of sunlight that irradiates mobile machines. The amount ofsunlight that irradiates the mobile machines may affect differentparameters (e.g., temperature, solar panel electrical output, batterycharge as provided by electrical output of the solar panel, etc.) of themobile machines.

The subject matter claimed in the present disclosure is not limited toembodiments that solve any disadvantages or that operate only inenvironments such as those described above. Rather, this background isonly provided to illustrate one example technology area where someembodiments described herein may be practiced.

SUMMARY

According to one or more aspects of the present disclosure, operationsrelated to generation of selectable parking positions are disclosed. Insome embodiments, the operations may include obtaining a parking areaconstraint that delineates a parking area within which a mobile machineis designated to park, obtaining a time constraint that delineates atime period that the mobile machine is designated to park in the parkingarea, and obtaining one or more mobile machine parameters for the mobilemachine in which the one or more mobile machine parameters are affectedby an amount of sunlight that irradiates the mobile machine. Theoperations may also include determining, based on the parking areaconstraint and the time constraint, a first parking position within theparking area during the time period and a second parking position withinthe parking area during the time period. In addition, the operations mayinclude identifying, based on the parking area constraint, one or moreshade-providing objects that provide shade within the parking area.

The operations may also include determining, based on the one or moreshade-providing objects, one or more shadow profiles in which eachshadow profile is for a respective shadow created by a respective one ofthe one or more shade-providing objects during the time period. Further,the operations may include determining, based on the time constraint,the parking area constraint, and the one or more shadow profiles, afirst shadow-position relationship that indicates shade provided at thefirst parking position during the time period and a secondshadow-position relationship that indicates shade provided at the secondparking position during the time period. In addition, the operations mayinclude selecting the first parking position instead of the secondparking position based on the first shadow-position relationship, thesecond shadow-position relationship, and the one or more mobile machineparameters. The operations may also include, in response to theselecting, causing the mobile machine to park at the first parkingposition.

BRIEF DESCRIPTION OF THE DRAWINGS

Example embodiments will be described and explained with additionalspecificity and detail through the use of the accompanying drawings inwhich:

FIG. 1A illustrates an example environment configured to determineselectable parking positions based on one or more of constraints, mobilemachine parameters, shadow profiles, factors, and shadow-positionrelationships;

FIG. 1B illustrates some example selectable parking positions of FIG. 1Athat are ranked;

FIG. 1C illustrates an example application of selecting an exampleselectable parking position of any of FIGS. 1A-1B;

FIG. 2 illustrates a block diagram of an example computing system;

FIG. 3 illustrates an example environment configured to presentcommunications that may include determining selectable parkingpositions; and

FIG. 4 is a flowchart of an example method to determine selectableparking positions based on one or more of constraints, mobile machineparameters, shadow profiles, factors, and shadow-position relationships.

DESCRIPTION OF EMBODIMENTS

An amount of sunlight that irradiates a mobile machine (“irradiatingsunlight”) may affect different parameters of the mobile machine. Forexample, the amount of irradiating sunlight may affect parameters of themobile machine such as temperature and electrical output of solar panels(“solar panel output”) of the mobile machine. The solar panel outputmay, in turn, affect a battery charge rate, a battery charge level, etc.of a battery system of the mobile machine such that the amount ofirradiating sunlight may also affect one or more factors associated withthe battery system of the mobile machine. The amount of irradiatingsunlight at a particular location may be affected by a position of thesun with respect to shade-providing objects that may at least partiallyblock the sunlight (i.e., cast a shadow) that may irradiate theparticular location.

According to one or more embodiments of the present disclosure, adetermination as to where to park a mobile machine may be made based onan amount of sunlight that may irradiate the mobile machine at aparticular location. The amount of irradiating sunlight may help themobile machine achieve target parameters. For instance, parking themobile machine in the shade (e.g., blocking some irradiant sunlight) mayhelp achieve a target temperature. The target temperature may correspondto a component temperature of a component of the mobile machine or anambient air temperature of an interior of the mobile machine.Additionally or alternatively, parking the mobile machine in thesunlight (e.g., outside of the shade) may help the mobile machineachieve the same or other target parameters such as a target solar paneloutput. The target solar panel output may help a battery system of themobile machine achieve, for example, a target battery charge rate or atarget battery charge level.

In the present disclosure, reference to “mobile machine,” may refer toany device or machine that is movable from a first geographic position(e.g., “Point A”) to a second geographic position (e.g., “Point B”). Inthese or other embodiments, the mobile machines may be autonomous orsemi-autonomous with respect to moving between geographic positions.Alternatively, the mobile machines may be human-operated betweengeographic positions. Examples of mobile machines may include robots,drones, self-driving cars, human-operated cars, equipment (e.g.,construction/maintenance equipment such as a backhoe, a street-sweeper,a steam roller, etc.), storage pods (e.g., a transportable storage unit,etc.), or any other suitable devices configured to move betweengeographic positions.

Additionally, a “parking area” may correspond to any spatial area of agiven geographic position, on the ground or in-air, which is designatedfor parking the mobile machine. Examples of parking areas may include aparking station, a parking hangar, a parking lot, a parking terminal, acharging station, a gas station, a maintenance bay, a weigh station, aport of entry, a return location, a storage location, a rest station, arest area, a rest stop, a standby mode station, a waiting station, ahover station, a loading dock, or any other suitable position forparking the mobile machine. A “parking position” may correspond to aparticular spatial area of a given geographic position, on the ground orin-air, which is within the parking area and is designated for parkingthe mobile machine. Examples of parking positions may include a parkingspace, a parking stall, a parking spot, a parking unit, a restingposition, a charging position, a standby position, etc.

In these or other embodiments, “parking” of the mobile machine maycorrespond to placement of the mobile machine at a given geographicposition in which the mobile machine may remain at the geographicposition for a period of time, such as the parking position describedabove. The placement of the mobile machine at the parking position maybe permanent. Additionally or alternatively in many cases, the placementmay be temporary in which the period of time during which the mobilemachine may remain at a particular parking position may vary. Forexample, the mobile machine may be placed at the particular parkingposition for a period of time, such as several minutes, hours, days, orweeks. In other instances, the placement of the mobile machine at theparking position may be for a longer period of time, such as months,years, or decades. Additionally, the placement of the mobile machine atthe parking position may correspond to the mobile machine being fullystationary at the parking position (i.e., completely static). Forexample, the mobile machine may be powered off and/or placed in a modenot permitting movement of the mobile machine while placed in theparking position (e.g., putting a transmission gear into a “park” gear,locking a steering mechanism, engaging a sleep mode, etc.). In otherinstances, the placement of the mobile machine at the parking positionmay correspond to the mobile machine being semi-stationary (i.e., notcompletely static across a time duration). For example, the mobilemachine may remain on and/or placed in a mode permitting some movementof the mobile machine when placed within the parking position (e.g.,engaging a standby mode, hovering in place or hovering within theconfines of the parking position, moving within the confines of theparking position to charge or connect to/disconnect from a chargingmechanism, etc.).

Turning to the figures, FIG. 1A illustrates an example environment 100configured to determine selectable parking positions 125 based onvarious inputs. The environment 100 may be arranged according to one ormore embodiments of the present disclosure. In the illustrated exampleof FIG. 1, the environment 100 may include a parking module 120configured to determine the selectable parking positions 125 based onvarious inputs, including, for example, constraints 105, mobile machineparameters 110 a, and factors 112 a. Other inputs may be used inaddition to or alternatively to the constraints 105, the mobile machineparameters 110 a, and the factors 112 a without limitation.

As indicated above, one type of input used to determine the selectableparking positions 125 may include the constraints 105. The constraints105 may include, for example, a parking area constraint, a timeconstraint, or any other suitable constraint used to determine theselectable parking positions 125.

In some embodiments, the parking area constraint may define a parkingarea within which a mobile machine may park. For example, the parkingarea constraint may include metes and bounds of the parking areadefining a spatial region available for parking the mobile machine andmay include individual parking positions. For instance, metes and boundsmay include or may be based relative to GPS coordinates, streets, asurface area amount, setback regulations, construction sites, propertylines, townships, subdivisions, sidewalks, berms, natural monuments,landscaping, etc. Additionally or alternatively, the parking areaconstraint may be spatially defined by visual designations of theparking area and/or parking positions such as lines, patterns, symbols,text, colors, signs, lights, textured surfaces, traffic directors, etc.For example, painted lines of a parking stall, flashing signals, text onstreet signs, parking symbols, parking cone patterns, brick-laidsurfaces, hand-waving of a police officer, construction flags/cones,etc. may each visually indicate the parking area and/or parkingpositions within the parking area.

In some embodiments, the parking area constraint may include non-visualdesignations of the parking area/parking position that may be sensed ordetermined, such as radio frequencies, infrared light, UV light, sounds,vibrations, magnetic waves, static electricity, temperatures, altitudes,air density, air quality, etc. For example, the mobile machine may park,for example, where: a band of radio frequencies is within a particularrange, air density is below a threshold amount, air pollutants are belowa threshold amount, parking “chirps” are above a threshold decibellevel, ambient air temperature is within a certain temperature range,charging apparatuses are available, etc.

Additionally or alternatively, the parking area constraint may includeareas that affirmatively prohibit parking of the mobile machine.Examples of affirmative prohibitions to parking of the mobile machinemay include any of the metes and bounds, visual designations, andnon-visual designations described above. In some embodiments, theaffirmative prohibitions to parking of the mobile machine may includecity ordinances, county regulations, state law, federal law, etc. thatdo not delineate at the prohibited parking site the extent of theprohibited parking area. In these or other embodiments, the affirmativeprohibitions may be communicated to the mobile machine or otherwiseaccessed by the mobile machine, for example, accessing the affirmativeprohibitions as found online or in a parking information database.

In some embodiments, multiple individual parking positions may existwithin the parking area. In such instances, the parking area constraintmay include any of the metes and bounds, visual designations, andnon-visual designations described above to define the individual parkingpositions within the parking area. In these or other embodiments,multiple mobile machines may park in respective individual parkingpositions within the parking area. In some embodiments, the individualparking positions within the parking area may be arranged to increase anumber of mobile machines able to park in the parking area. Additionallyor alternatively, the individual parking positions within the parkingarea may be arranged in relation to the metes and bounds of the parkingarea. For example, the individual parking positions may be laterallyarranged next to each other (e.g., horizontal or side-by-side), stacked(e.g., vertically or on top of other mobile machines), or arranged insome combination (e.g., vertical and horizontal staggering, such as thatfound in parking garages). In these or other embodiments, the parkingarea constraint may define the spatial arrangement and/or positioning ofthe individual parking positions within the parking area.

In addition to the parking area constraint, the constraints 105introduced above may also include the time constraint used to determinethe selectable parking positions 125. The time constraint may define atime period that the mobile machine may be designated or permitted topark in the parking area. Examples of time constraints may includepermissible parking times or days in the parking area, a maximumduration of parking in the parking area, maintenance times (e.g.,street-cleaning times, garbage pick-up times, delivery times, etc.), andconstruction.

In some embodiments, the time constraint may include visual designationsof the time period corresponding to the parking area/parking positionsuch as lines, patterns, symbols, text, numbers, colors, signs, lights,textured surfaces, entry tickets, sun positioning, etc. For example,painted text or numbers in a parking stall, flashing signals, text ornumbers on street signs/meters, clock symbols, parking stall patterns(e.g., different patterns for different time periods), brick-laidsurfaces for one time period and concrete surfaces for a different timeperiod, time-punched entry tickets, certain positioning of the sun inthe sky, etc. may each visually indicate the time period.

In some embodiments, the time constraint may include non-visualdesignations of the time period that may be sensed or determined, suchas radio frequencies, infrared light, UV light, sounds, vibrations,magnetic waves, static electricity, temperatures, altitudes, airpressure, air quality, etc. For example, the mobile machine may sense ordetermine that the time period has begun and/or lapsed, for example,when: a band of radio frequencies is within a particular range,atmospheric pressure is below a threshold amount, air pollutants arebelow a threshold amount, parking “chirps” are above a threshold decibellevel, ambient air temperature is within a certain temperature range,charging apparatuses are available, etc.

Additionally or alternatively, the time constraint may include timeperiods that affirmatively prohibit parking of the mobile machine.Examples of affirmative time period prohibitions to parking of themobile machine may include any of the visual designations and non-visualdesignations described above. In some embodiments, the affirmative timeperiod prohibitions to parking of the mobile machine may include cityordinances, county regulations, state law, federal law, etc. that do notdelineate at the prohibited parking site the extent of the prohibitedtime period for parking the mobile machine. In these or otherembodiments, the affirmative time period prohibitions may becommunicated to the mobile machine or otherwise accessed by the mobilemachine, for example, accessing the affirmative time period prohibitionsas found online or in a parking information database.

As indicated above, another type of input used to determine theselectable parking positions 125 may include the mobile machineparameters 110 a. The mobile machine parameters 110 a may include, forexample, a current temperature of the mobile machine, a predictedtemperature of the mobile machine, a target temperature of the mobilemachine, the solar panel output of the mobile machine, a current chargelevel of a battery system of the mobile machine, a predicted chargelevel of the battery system, a charge rate of the battery system, atarget charge level of the battery system, or any other suitableparameter used to determine the selectable parking positions 125.

In some embodiments, the current temperature of the mobile machine maycorrespond to one or both of a current component temperature of acomponent of the mobile machine and a current ambient air temperature ofan interior of the mobile machine. For example, the current componenttemperature may be a real-time temperature that corresponds to one ormore components of the mobile machine. The components of the mobilemachine may be inside the mobile machine (e.g., the interior of themobile machine) or outside the mobile machine (e.g., an exterior of themobile machine). The interior of the mobile machine may include anyportion of the mobile machine within an exterior of the mobile machine.

In some embodiments, the predicted temperature of the mobile machine maycorrespond to one or both of a predicted component temperature of acomponent of the mobile machine and a predicted ambient air temperatureof an interior of the mobile machine. For example, the predictedcomponent temperature may include a forecasted temperature, a typicaltemperature, or a historical temperature that corresponds to one or morecomponents of the mobile machine.

In some embodiments, the target temperature of the mobile machine maycorrespond to one and both of a target component temperature of acomponent of the mobile machine or a target ambient air temperature ofan interior of the mobile machine. For example, the target componenttemperature may be a temperature setting, a temperature goal, or adesired temperature that corresponds to one or more components of themobile machine. In these or other embodiments, the current componenttemperature, the predicted component temperature, and the targetcomponent temperature may include or be represented by any of atemperature range, an estimated temperature, a minimum temperature, amaximum temperature, a change in temperature, etc.

In some embodiments, the solar panel output of the mobile machine maycorrespond to an electrical output (e.g., an amount of electricity)produced from converting solar energy irradiating on a solar panel ofthe mobile machine. The amount of electricity may be represented invarious ways, including power (e.g., watts), current (e.g., amperage),voltage (e.g., volts), etc. Additionally or alternatively, the solarpanel output may be associated with an efficiency, such as asolar-to-electricity conversion efficiency that may serve as a metric ofhow efficient electricity is produced from the solar energy irradiatingthe solar panel of the mobile machine (e.g., 75% of the solar energyirradiating the solar panel is converted to electricity equals a 75%solar-to-electricity conversion efficiency).

In some embodiments, the current charge level of the battery system ofthe mobile machine may correspond to a current charge level of one ormore batteries in the battery system. For example, the current chargelevel of the battery system may be a summation of the current charge ofeach of the one or more batteries in the battery system. The summationmay correspond to a manner in which the one or more batteries of thebattery system are electrically connected to each other (e.g., connectedin parallel, connected in series, or some combination). In these orother embodiments, the current charge level of the one or more batteriesin the battery system may correspond to a state of charge (SoC) definedas a ratio of residual charge in the one or more batteries to a chargecapacity of the one or more batteries (e.g., SoC=residual charge/chargecapacity). The SoC for the one or more batteries in the battery systemof the mobile machine may be measured using chemical operations, voltageoperations, current integration operations, Maxim integrated operations,Kalman filtering operations, and/or pressure operations.

In some embodiments, the predicted charge level of the battery system ofthe mobile machine may correspond to a predicted charge level of one ormore batteries in the battery system. For example, the predicted chargelevel of the battery system may be a forecasted charge level, a typicalcharge level, a historical charge level, etc. that corresponds to one ormore batteries of the battery system. In these or other embodiments, thepredicted charge level of the battery system may be related to the solarpanel output. For example, as the solar panel output increases, thecharge level of the battery system may be predicted to increase (e.g.,to a first charge level). Additionally or alternatively, as the solarpanel output decreases, the charge level of the battery system may bepredicted to increase, but to a lower charge level than the first chargelevel (e.g., a second charge level lower than the first charge level).

In some embodiments, the target charge level of the battery system ofthe mobile machine may correspond to a target charge level of one ormore batteries in the battery system. For example, the target chargelevel of the battery system may be a charge level setting, a chargelevel goal, or a desired charge level that corresponds to one or morebatteries of the battery system. In these or other embodiments, thecurrent charge level, the predicted charge level, and the target chargelevel may include or be represented by any of a range of charges, anestimated charge level, a minimum charge level, a maximum charge level,a change in charge level, etc.

In some embodiments, the charge rate of the battery system of the mobilemachine may correspond to a charge rate of one or more batteries in thebattery system. For example, the charge rate may correspond to how fastthe one or more batteries can charge, do charge, or have charged to thecharge capacity of the one or more batteries. In these or otherembodiments, the charge rate of the one or more batteries may include ormay be based on a C-rate. The C-rate may be a measure of the rate atwhich the one or more batteries is discharged. The C-rate may be definedas the discharge current divided by the theoretical current draw underwhich the battery would deliver its nominal rated capacity in one hour.In these or other embodiments, the solar panel output may correspond tothe charge rate of the one or more batteries in the battery system. Forexample, as the solar panel output increases, the charge rate of thebattery system may increase. Additionally or alternatively, as the solarpanel output decreases, the charge rate of the battery system maydecrease.

In some embodiments, one or more factors such as the factors 112 a mayaffect the mobile machine parameters 110 a and the mobile machineparameters 110 b. For example, the factors 112 a may include one or moreof: a time of day of the time period, a time of year of the time period,current weather conditions of the parking area during the time period, adistance from a first target location to the parking area, and adistance from the parking area to a second target location, energy coststo move to or between various positions, and so on.

In some embodiments, the time of day may include a particular hour andminute of the day (e.g., 10:30 AM), an hour of the day (2 PM), or ageneralized time such as morning (e.g., before noon). Additionally oralternatively, the time of the day may include a position of the sunrelative to some position or object (e.g., the mobile machine). In someembodiments, the time of year may include a typical calendar season(e.g., summer, fall, winter, spring), a holiday season (e.g., Christmas,New Year, Thanksgiving, Valentines, etc.), and a sport season (hockey,baseball, hunting, etc.). In these or other embodiments, the time ofyear may include a position of the sun relative to some position orobject (e.g., the mobile machine). In one example of a factor affectingone of the mobile machine parameters 110, the winter season may resultin less solar panel output compared to the solar panel output during thesummer season because the days are shorter during the winter season thanin the summer season. In these or other embodiments, the factors 112 amay affect the constraints 105. For example, the time of year may affectthe parking constraint. For instance, given a time of year as basketballseason for professional basketball, a “home” game may result inunavailable parking areas and/or new parking areas near the “home” arenaon the date of each “home” game. Other suitable factors of the factors112 a may affect the constraints 105 without limitation.

In some embodiments, the current weather conditions may correspond to areal-time weather occurrence, weather pattern, weather system, weathervariable, weather metric, etc. For example, current weather conditionsmay include a low-pressure weather system (e.g., 29.5 inches of Mercury)with snow precipitation and an ambient temperature of about 24 degreesFahrenheit.

In some embodiments, the first distance from the first target locationmay include a distance of travel of the mobile machine to the parkingarea, where the first target location may be any geographical position.For example, the first target location may be a garage, a home, astation, a hub, a work place, a travel destination, an airport, etc.Thus, in some embodiments, the first distance may include the distancethe mobile machine travels from the first target location, in which thefirst distance may include a mile, a nautical mile, or other suitabledistance measurement.

In some embodiments, the parking module 120 may obtain the variousinputs described above in any manner of ways. For example, as referencedin the present disclosure, “obtain,” “obtained,” and “obtaining” mayinclude accessing, receiving, acquiring, retrieving, generating,determining, identifying, or any other suitable operation to obtain thevarious inputs. In these or other embodiments, the parking module 120may be located at the mobile machine (e.g., mobile machine 315 of FIG.3), at a user device (e.g., user device 320 of FIG. 3), at a server(e.g., server 310 of FIG. 3), or at some other suitable location.

In some embodiments, the parking module 120 may obtain the parking areaconstraint described above, if visually designated, by using visualrecognition techniques. Such visual recognition techniques may includeuser inputs (e.g., voice commands, tactile feedback, text messages,etc.) to the parking module 120 that indicate visual recognition by auser. Additionally or alternatively, visual recognition techniques mayinclude sensory input. For example, sensory input received by theparking module 120 may include sensory input from any array of sensorsthat may be configured to visually detect such thing as lines, patterns,text, symbols, colors, signs, lights, textured surfaces, trafficdirectors, etc. For example, the sensory input received by the parkingmodule 120 may include detection of painted lines of a parking stall,flashing signals, text on street signs, parking symbols, parking conepatterns, brick-laid surfaces, hand-waving of a police officer,construction flags/cones, etc. may each visually indicate the parkingarea/parking position. Additionally or alternatively, visual recognitiontechniques may include sensory input received by the parking module 120that may include imaging/recording data. The parking module 120 may,after receiving the imaging/recording data, analyze theimaging/recording data against predetermined or known parking areaconstraints. In these or other embodiments, the parking module 120 mayperform image recognition techniques using the imaging/recording data.

Additionally or alternatively, the parking module 120 may obtain theparking area constraint, if non-visually designated, by using othertechniques that use non-visual sensory input received at the parkingmodule 120 from any array of sensors configured to detect such things asradio frequencies, infrared light, UV light, sounds, vibrations,magnetic waves, static electricity, temperatures, altitudes, airdensity, air quality, etc. In some embodiments, the parking areaconstraint may be obtained according to the metes and bounds of theparking area. The metes and bounds of the parking area may be determinedby the parking module 120 according to visual recognition techniquesdescribed above, by user inputs described above (e.g., voice commandincluding an address), or by accessing information online thatassociates the parking area constraint with the parking area. Othertypes of parking area constraints, such as affirmative prohibitions, maybe retrieved from or sent to the parking module 120 from online sourcessuch as a government website or a parking information database.Additionally or alternatively, other types of parking area constraintsmay include avoiding trees which could potentially affect the mobilemachine due to dripping sap or pollen, falling debris (e.g., leaves,seeds, etc.), or high concentrations of birds (and thus bird droppings),areas prone to vandalism or theft, etc.; these parking area constraintsmay be determined by visual mechanisms, user input, learned processes,statistics, maps, etc.

In some embodiments, the parking module 120 may obtain the timeconstraint described above, if visually designated, by using the visualrecognition techniques described above that may include receipt ofsensory input indicating detection of such things as lines, patterns,symbols, text, numbers, colors, signs, lights, textured surfaces, entrytickets, sun positioning, etc. If non-visually designated, the parkingmodule 120 may use non-visual sensory input described above that mayinclude receipt of sensory input indicating detection of such things asradio frequencies, infrared light, UV light, sounds, vibrations,magnetic waves, static electricity, temperatures, altitudes, airpressure, air quality, etc. Other types of time constraints, such asaffirmative prohibitions, may be retrieved from or sent to the parkingmodule 120 from online sources such as a government website or a parkinginformation database.

In some embodiments, the parking module 120 may determine the selectableparking positions 125. The selectable parking positions 125 may includea first parking position, a second parking position, up to an n^(th)parking position. Thus, in some embodiments, the selectable parkingpositions 125 may be a set of parking positions, for example, positionedwithin one or more parking areas described above. In some embodiments,the selectable parking positions 125 may be associated with anidentifier configured to be indexed and stored, for example in theparking module 120.

In some embodiments, the selectable parking positions 125 may be basedon the parking area constraint and the time constraint. Theselectability (e.g., the value or rank as described below in conjunctionwith FIG. 1B) of the selectable parking positions 125 as determined bythe parking module 120 may, however, be based on any of the variousinputs described above, including the constraints 105, the mobilemachine parameters 110, the shadow profiles 115, and the shadow-positionrelationships 117.

In some embodiments, the parking module 120 may obtain the mobilemachine parameters 110 a and 110 b in any manner of ways. The mobilemachine parameters 110 b may include any of the mobile machineparameters 110 a, but may also include any suitable mobile machineparameters that may be predicted or otherwise determined by the parkingmodule 120. In some embodiments, the current temperature may bemonitored by the parking module 120 that communicates with temperaturesensors configured to measure temperature. Via communication with thetemperature sensors, the parking module 120 may monitor one or both ofthe current component temperature of a component of the mobile machineand the current ambient air temperature of an interior of the mobilemachine. For instance, the parking module 120 may monitor the currentcomponent temperature such that the current component temperature doesnot rise or fall beyond some threshold temperature. For example, in someinstances, component failure or inefficiencies (e.g., inefficienciesthat may affect the solar panel output) may occur when the currentcomponent temperature is beyond the threshold temperature.

In another example, the current temperature may be a real-timetemperature that corresponds to the interior air temperature of themobile machine. For example, the interior of the mobile machine may bethe inside of a car, the inside of a drone, the inside of a robot, etc.In some embodiments, the interior air temperature of the mobile machinemay affect the current component temperature and/or may affect atemperature of any cargo or occupants (e.g., people, pets, etc.). Thus,in some embodiments, the interior air temperature of the mobile machinemay be monitored by the parking module 120 as a matter of safety,comfort, and sustainability (e.g., loss prevention, spoilage, freezing,overheating, etc.) of the cargo/occupants, and/or component efficiencydescribed above. Thus, in some embodiments, the parking module 120 maycause the mobile machine to perform operations to achieve or maintainthe target temperature of the mobile machine (e.g., engage some heatingor cooling system) as a matter of safety, comfort, and sustainabilitydescribed above.

In these or other embodiments, the parking module 120 may predict thepredicted temperature of the mobile machine as a matter of safety,comfort, and sustainability described above. The predicted temperatureof the mobile machine may be based on the current temperature of themobile machine, current weather conditions (e.g. ambient temperatureexterior of the mobile machine), etc. that may be measured or sensedusing temperature sensors.

In some embodiments, the parking module 120 may obtain any of thecurrent charge level of the battery system of the mobile machine, thepredicted charge level of the battery system of the mobile machine, andthe target charge level of the battery system of the mobile machine. Forexample, the parking module 120 may perform charge measurements usingchemical operations, voltage operations, current integration operations,Maxim integrated operations, Kalman filtering operations, and/orpressure operations.

In some embodiments, the parking module 120 may obtain the factors 112 aand the factors 112 b. The factors 112 b may include any of the factors112 a, but may also include any suitable factors that may be predictedor otherwise determined by the parking module 120. The factors 112 b,like the factors 112 a, may affect one or more of the constraints 105and the mobile machine parameters 110 a/110 b. For example, predictedweather conditions of the parking area during the time period may be oneof the factors 112 b. In some embodiments, the predicted weatherconditions may correspond to forecasted weather conditions, typicalweather conditions, historical weather conditions, etc. In one exampleof a factor affecting one of the mobile machine parameters 110 b, apredicted high pressure weather system (e.g., 30.2 inches of Mercury)with sunny skies and an ambient temperature of 95 degrees Fahrenheitmay, in turn, predict that one of the one or more batteries in thebattery system of the mobile machine may lose charge capacity and(overtime) functional longevity.

Another one of the factors 112 b may include the second distance fromthe second target location that may include a distance of travel (or apredicted time of travel) of the mobile machine to the parking area,where the second target location may be any geographical position. Forexample, the second target location may be a garage, a home, a station,a hub, a work place, a travel destination, an airport, etc. Thus, insome embodiments, the first target location (described above) and thesecond target location may be the same geographical position (e.g., aroundtrip leaving home and arriving at home), while in otherembodiments, different geographical positions (e.g., a one-way trip,leaving home and arriving at work). In these or other embodiments, thesecond distance may include the distance the mobile machine travels fromthe second target location, in which the second distance may include amile, a nautical mile, a number of minutes, a number of hours, or othersuitable distance/time measurement.

In another example of one of the factors 112 b affecting one of themobile machine parameters 110, the predicted charge level of the batterysystem may be predicted to be at a lower charge level after traveling tothe parking area from the first target location than from the secondtarget location where, for instance, the first target location is tenmiles away from the parking area and the second target location is twomiles away from the parking area. In a similar example, the predictedcharge level of the battery system may be predicted to be at a lowercharge level after traveling to the parking area from the first targetlocation than from the second target location where, for instance, thefirst target location is predicted to include a longer travel time thana travel time to the second target location.

In some embodiments, the parking module 120 may determine the shadowprofiles 115. In some embodiments, each shadow profile of the shadowprofiles 115 may be for a respective shadow created by a respective oneof one or more shade-providing objects during the time period. Theshadow may be created during the time period in response to therespective one of the one or more shade-providing objects at leastpartially blocking the sunlight (i.e., cast a shadow) that may irradiatean area such as a parking position within the parking area. Thus, insome embodiments, the shadow that may be created within the parking areaduring the time period may be dependent on the presence of the sun thatprovides irradiating sunlight and/or dependent on weather conditionsthat permit sunlight from the sun to sufficiently irradiate the one ormore shade-providing objects. For example, the shadow may not be createdwithin the parking area during the time period if at nighttime after thesun has set or if the weather conditions are foggy, cloudy, stormy, orotherwise inhibitive of sunlight irradiating the one or moreshade-providing objects such that a shadow is not cast upon the parkingarea.

In some embodiments, the one or more shade-providing objects may be anyobject that at least partially blocks sunlight irradiating on theobject, whereby an amount of the irradiating sunlight upon the objectmay not pass through the object. Thus, in some embodiments, the objectmay be a shade-providing object if the amount of irradiating sunlightupon the object is greater than the amount of sunlight that passesthrough the object. In these or other embodiments, the one or more shadeproviding objects may include opaque objects and translucent objects butnot transparent objects. Opaque objects may allow little to no light topass through the object (e.g., a mountain, a concrete wall, a treetrunk, etc.). Opaque objects may transmit no light, and therefore mayreflect, scatter, absorb, or refract all irradiant sunlight upon theobject. Translucent objects may allow some but not all light to passthrough the object (e.g., frosted glass, some plastics, treetops,bushes, patio screens, etc.). Translucent objects may transmit light,and therefore may reflect, scatter, absorb or refract only some of theirradiant sunlight upon the object. Transparent objects may allow alllight to pass through the object (e.g., air, clear glass, pure water,some plastics, etc.). Thus, in some embodiments, examples ofshade-providing objects may include buildings, bridges, billboards,signs, covered areas, trees, mountains, etc.

In some embodiments, the one or more shade-providing objects may beidentified based on the parking area constraint described above. Forexample, given a geographic positioning (e.g., GPS coordinates) of theparking area as described in the parking area constraint, the GPScoordinates may correspond to one or more shade-providing objects inclose proximity to the parking area that are configured to cast a shadowon the parking area. In another example, given a parking sign used inobtaining the parking area constraint, the parking sign may alsotextually ascribe an association with a nearby building configured tocast a shadow on the parking area (Parking Sign: “Parking Available atNext Right Turn for the 111 Main Street Building.”). Thus, in someembodiments, the one or more shade-providing objects may be identifiedbased on the parking area constraint.

Additionally or alternatively, other ways of identifying the one or moreshade-providing objects may include sensory detection, imaging analysis,etc. to determine the presence of shade that may be evidence of the oneor more shade-providing objects and/or the presence of objects that mayprovide shade. Identifying the one or more shade-providing objects maybe performed by the mobile machine or by some other source (e.g., aserver, third-party mobile machine, etc.) using sensory equipment,imaging equipment, or other suitable equipment.

In some embodiments, the parking module 120 may determine the one ormore shade-providing objects described above. For example, the parkingmodule 120 may perform any suitable operation to identify the one ormore shade-providing objects, including any operation related toreceiving sensory input configured to enable sensory detection, imaginganalysis, etc. described below.

Sensory detection as described in the present disclosure may include anyform of human or electro-mechanical technique or mechanism of sensingone or both of the shade-providing objects and the shade therefrom. Asan example, sensory detection may include any operations or device,including use of any array of sensors used to detect light to helpidentify the one or more shade-providing objects. For example, sensorydetection may include photoreceptors, photodiodes, photoresistors, etc.(“photodetectors”) that convert solar energy irradiating on thephotodetector into current. In the shade (e.g., shade of ashade-providing object), an amount of solar energy is less than anamount of solar energy outside of the shade. Thus, in some embodiments,the photodetector may produce a smaller amount of current from the solarenergy in the shade compared to a greater amount of current when not inthe shade. In this manner, photodetectors may help to determine thepresence of shade that, in turn, may lead to identifying the one or moreshade-providing objects.

As another example, sensory detection may include any operations ordevice, including use of any array of sensors used to detect sounds tohelp identify the one or more shade-providing objects. For example,using echolocation or sonar, sound waves emitted and/or received mayhelp identify a location of one or more objects. The objects located viaecholocation or sonar may or may not be a shade-providing object sincethe echolocation or sonar may not discriminate objects based on anyshade-providing qualities. In these or other embodiments, sensorydetection such as the detection of sound may be used in combination withother sensory detection operations used to identify the one or moreshade-providing objects. For example, sensory detection may includehuman vision or human inputs that may help identify the one or moreshade-providing objects.

In some embodiments, imaging analysis as described in the presentdisclosure may include any operations or device used to identify the oneor more shade-providing objects using an image. The image may include apicture image captured by a device with camera capabilities or a videocaptured by a device with video capabilities. The image may be an onlineimage (e.g., Google® Street View), a live image (e.g., a web-cam image),a time-lapse image, a stitched image of multiple images, or some otherimage file (e.g., images of file types such as .jpg, .png, .tiff, etc.)accessed, received, generated, or otherwise obtained. In these or otherembodiments, the image may depict an environment that may include anynumber of objects (that may or may not include some shade-providingobjects). As depicted in the environment, objects may include people,vehicles, equipment, personal property items (e.g., trash cans,bicycles, etc.), animals, houses, buildings, roadways, etc. To determinewhat objects in the environment may be a shade-providing object, animaging analysis may be performed.

In some embodiments, the imaging analysis may include a color analysis,a pixel analysis, or other image recognition analysis. Additionally oralternatively, the imaging analysis may be performed using edgedetection methods and/or neural networks. For example, the imaginganalysis may be a trained analysis that has previously analyzed a knownsubset (e.g., a training data set) of shade-providing objects. In thismanner, the imaging analysis may learn with increasing accuracy what isa shade-providing object and what is not a shade-providing object.

In some embodiments, the shadow profiles 115 may describe the respectiveshadows created by the one or more shade-providing objects during thetime period. For example, the shadow profiles 115 may include metes andbounds of a shadow. In some embodiments, the metes and bounds of theshadow may be relative to the one or more shade-providing objects, whilein other embodiments independent of the shade-providing objects.Additionally or alternatively, the metes and bounds of the shadow may berelative to a surface such as the ground, a street, a sidewalk, etc. Insome embodiments, the metes and bounds of the shadow may be2-dimensional (e.g., an arbitrary X-Y plane describing a surface area ofcoverage by the shadow), while in other embodiments, 3-dimensional(e.g., an arbitrary X-Y-Z plane describing a volume of coverage by theshadow).

An example of metes and bounds of a shadow in one of the shadow profiles115 may include a rectangular shadow that shades a 200 feet by 50 feetarea on a street and sidewalks. Another example of metes and bounds of ashadow in one of the shadow profiles 115 may include a wedge-shape(e.g., right triangular prism akin to some door stops) shadow that mightshade a 200 feet by 50 feet rectangular area on a street and sidewalksbut also shades a region above the street-sidewalk level. Thus, a volumeof the shadow in the right-wedge example might be expressed asVolume=200 feet×50 feet×height of the shade-providing object/2, in which“X” is a scalar multiplier. In these or other embodiments, the surfacearea of coverage by the shadow and the volume of coverage by the shadowmay be defined according to the shape of the shadow as projected on asurface 2-dimensionally and/or the shape of the shade-providing object.

Additionally or alternatively, a shadow profile in the shadow profiles115 may define the metes and bounds of a respective shadow as a functionof time, e.g., the time period. As time changes, the sun changesposition relative to any given object, including shade-providingobjects. As the sun changes position with respect to the shade-providingobjects, the respective shadows may also change. The shadows may changein shape, surface area coverage, volume coverage, etc. For instance,using the above example, at time=t1, the shadow might shade a 200 feetby 50 feet rectangular area on a street and sidewalks. At time=t2 (adifferent time from t1), the shadow might shade a rhombus-shaped area of250 feet by 20 feet on the street and sidewalks. In the example, theshadow changed both the shape and the surface area coverage.Additionally or alternatively, the shadow may move (e.g., translate)during the time period, such as between t1 and t2, relative to someobject or geographic position. For example, movement of the shadow maybe relative to any of the sun, the mobile machine, the respectiveshade-providing object, the parking area/parking position, and any othersuitable object or geographical position that is positionally trackableor is otherwise a static constant (e.g., immovable) to allow shadowmovement calculations and predictions. Thus, in some embodiments, theshadow profiles 115 may include movement of the respective shadowsduring the time period.

In some embodiments, the shadow profiles 115 may also describe an amountof shade coverage provided by the shadow of the one or moreshade-providing objects. The amount of shade coverage at a givenposition from the shadow of the shade-providing object at any given timemay range from zero shade coverage (e.g., 0% shade coverage) to fullshade coverage (e.g., 100% shade coverage). The amount of shade coverageat the given position from the shadow of the shade-providing object maybe based on the metes and bounds of the shadow and the opacity of theshade-providing object. For instance, using the above example, a givenposition completely within the shaded 200 feet by 50 feet area at t1 mayhave 100% shade coverage if the shade-providing object is opaque.Additionally or alternatively, the given position completely within theshaded 200 feet by 50 feet area at t1 may have less than 100% shadecoverage if the shade-providing object is not opaque, but istranslucent. In cases where the given position may have less than 100%shade coverage from a first shadow of a first shade-providing objectthat is translucent, a second shade-providing object having a secondshadow that intersects the first shadow may be accounted in defining theshade-coverage of the given position. For example, the first shadow ofitself may provide a 60% shade coverage for a given position at t1. Thesecond shadow of itself may provide an 80% shade coverage for the givenposition at t1. Where the first shadow and the second shadow intersectat the given position at t1, the shade coverage provided by therespective shadows of the shade-providing objects may be summed to ashade coverage of 100%, but no more than 100%.

In these or other embodiments, the parking module 120 may perform anysuitable operation to determine the shadow profiles 115, including anyoperation related to receiving sensory input configured to enable thesensory detection, the imaging analysis, etc. described above inconjunction with the description of the one or more shade-providingobjects. Via the sensory detection, the imaging analysis, etc., theparking module 120 may generate the shadow profiles 115 using a mappingprocess to map the shadow corresponding to the shade-providing object.For instance, the map generated by the parking module 120 may be amathematical mapping such as a function that defines the metes andbounds of the shadow corresponding to the shade-providing object.Additionally or alternatively, the map generated by the parking module120 may be a geographical mapping such as a street map, a topographicalmap, a satellite image map, etc. that includes the metes and bounds ofthe shadow corresponding to the shade-providing object. In these orother embodiments, the map of the shadow corresponding to the one ormore shade-providing objects may be a real-time mapping and/or apredicted mapping (e.g., a shadow profile from now at time=t1, to fivehours from now at time=t2). Additionally or alternatively, the parkingmodule 120 may determine the amount of shade coverage described aboveusing any of the sensory detection, the imaging analysis, etc. used toidentify the one or more shade-providing objects. In these or otherembodiments, the parking module 120 may perform any shade coveragecalculations of surface area, volume, movement, etc. that correspond tothe shadow of the one or more shade-providing objects.

In some embodiments, the parking module 120 may determine theshadow-position relationships 117. The shadow-position relationships 117may be based on the one or more shadow profiles 115 and the constraints105, including the time constraint and the parking area constraint. Inthese or other embodiments, the shadow-position relationships 117 maydescribe one or more respective relationships between the shadowprofiles 115 and the parking areas. The one or more respectiverelationships between the shadow profiles 115 and the parking areas mayinclude a description of shade coverage provided by the one or moreshade-providing objects to the parking areas as a function of time. Forinstance, using the above example including a time=t1 and a differenttime=t2, the shade-providing object may provide a particular amount ofshade coverage over a parking position within the parking area at t1, att2, at any time between t1 and t2, all times during t1 to t2, any timeafter t2, etc. Thus, using the above example, the shade-providing objectmay provide the parking position with 0% shade coverage at t1 and 30%shade coverage at t2.

In these or other embodiments, the shadow-position relationships 117 mayinclude the amount of shade coverage of the parking area as defined bythe parking area constraint. For example, a first parking positionwithin the parking area as defined in the parking area constraint mayhave a shade coverage of 75% during a time period, a second parkingposition within the parking area as defined in the parking areaconstraint may have a shade coverage of 95% during the time period, athird parking position within the parking area as defined in the parkingarea constraint may have a shade coverage of 40% during the time period,and so forth. Any other parking position and/or suitable parkingconstraint as described above may be included in the shadow-positionrelationships 117.

Additionally or alternatively, the shadow-position relationships 117 mayinclude the amount of shade coverage of the parking area/parkingposition as defined by the parking area constraint for a given timeperiod defined as the time constraint. For example, a first parkingposition within the parking area as defined in the parking areaconstraint may have a shade coverage of 75% during 9am to 5pm, a secondparking position within the parking area as defined in the parking areaconstraint may have a shade coverage of 95% during 9am to 5pm, a thirdparking position within the parking area as defined in the parking areaconstraint may have a shade coverage of 40% during 9am to 5pm, and soforth. Any other suitable time constraint as described above may beincluded in the shadow-position relationships 117.

In these or other embodiments, the parking module 120 may perform anysuitable operation to determine the shadow-position relationships 117described above. For example, the parking module 120 may analyze how theamount of shade coverage changes as a function of time for the firstparking position and the second parking position. Thus, in someembodiments, the parking module 120 may determine the shadow-positionrelationships 117 by associating the shadow profiles 115 with particularparking positions such as the first parking position and the secondparking position in the parking area. In this manner, the parking module120 generates information based on the shadow profiles 115 that isspecific to particular parking positions within the parking area suchthat the specific parking positions have a shadow-position relationshipwith the shadow created by the shade-providing object.

FIG. 1B illustrates some example selectable parking positions 125 ofFIG. 1A that are ranked according to example factors 135 (e.g., factors112 a/112 b of FIG. 1A) and/or one or more expressions. In FIG. 1B, theselectable parking positions 125 may include, for example, a firstparking position 125 a, a second parking position 125 b, up to an n^(th)parking position 125 n ^(th). The selectable parking positions 125 andany trajectories between the selectable parking positions 125 may beranked with a ranking 130. The ranking 130 may be based on a scoringexpression. One example scoring expression is represented as follows:

if shade_desired=1, then

score=w1*shade_coverage+(1−w1)*(−1*normalized_energy_required);

else,

score=w1*(1-shade_coverage)+(1−w1)*(−1*normalized_energy_required).

In some embodiments, shade_desired may represent a binary parameter ofwhether shade is desired (=1) or not desired (=0) with respect to themobile machine. For example, shade_desired may equal one (=1) if thebattery system in the mobile machine has exceeded or may exceed somethreshold temperature. In another example, shade_desired may equal zero(=0) if the solar panel output of solar panels on the mobile machineneeds to increase.

In some embodiments, w1 may represent a parameter in an interval [0,1].When the parameter w1=1, the mobile machine may not move from oneparking position to another parking position during the time period. Forexample, after the mobile machine parks at the first parking position125 a, the mobile machine would not move during the time period to thesecond parking position 125 b. Thus, in some embodiments, when theparameter w1=1, only a single parking position may be selected to parkthe mobile machine during the time period. However, when the parameterw1<1, multiple parking positions may be selected to park the mobilemachine. For example, the mobile machine may move from one parkingposition to another parking position during the time period. Forinstance, after the mobile machine parks at the first parking position125 a, the mobile machine may move during the time period to the secondparking position 125 b. In such instances that the parameter w1<1, themobile machine may move along trajectories (as defined below inconjunction with FIG. 1C) between individual parking positions of theselectable parking positions 125. In these or other embodiments, * mayrepresent a scalar multiplier.

In some embodiments, shade_coverage may represent an amount of shadecoverage between 0% and 100%, such as the shade coverage described abovefor the respective shadow profiles. In some embodiments,normalized_energy_required may represent an amount of energy required toperform a single movement divided by an amount of energy required toperform a set of movements. For example, a total amount of energyrequired to move the mobile machine from the first target location tothe first parking position 125 a may be X amount of energy. In the casethat the mobile machine moves from the first target position to thesecond parking position 125 b during the time period, the energyrequired to perform such movement may require Y amount of energy. Thus,the normalized_energy_required to move the mobile machine from the firsttarget position to the first parking position 125 a during the timeperiod may be represented as X/(X+Y) in which (X is divided by the sumof X and Y), the representation equating to a percentage between 0% and100%. In this manner, one move may consume more than 0% but less than100%, two moves may consume more than one move, and so on.

In these or other embodiments, score may represent a rankable score(e.g., as ranked in the ranking 130) between negative one hundredpercent to positive one hundred percent (−100% to 100%). The higher thevalue of score, the higher the ranking 130 may be (e.g., larger positivevalues may be ranked better towards top rankings). For example, asillustrated in FIG. 1B, the first parking position 125 a may have arankable score of 0.50, the second parking position 125 b may have arankable score of 0.66, and the n^(th) parking position 125 n ^(th) mayhave a rankable score of 0.75. Thus, the ranking 130 for each of theselectable parking positions 125 may be 15^(th), 6^(th), and 1^(st)respectively.

In these or other embodiments, the ranking 130 may be affected by orbased on one or more inputs described above in conjunction with FIG. 1A.For example, one or more of the parameters discussed above in thescoring expression for the ranking 130 may be related to or based on themobile machine parameters 110 a/110 b, the factors 112 a/112 b(illustrated in FIG. 1B as Factor(s) 135), etc.

For instance, the current weather conditions of the parking area duringthe time period may be cold and snowy. In such a case, the parkingmodule 120 may determine (e.g., via user input) that the user of themobile machine may not wish to walk from the first parking position 125a in the cold and snowy current weather conditions. Thus, the ranking130 of the first parking position 125 a ranked 15^(th) may reflect alower ranking. In comparison, the ranking 130 of the n^(th) parkingposition 125 n ^(th) ranked 1^(st) may reflect a higher ranking, forexample, given the cold and snowy current weather conditions that arenot exposed to the n^(th) parking position 125 n ^(th) located in anunderground/covered parking area that the user may prefer to walk from.

In another example, the predicted weather conditions of the parking areaduring the time period (or some portion thereof such as a latter portionof the time period) may be hot and sunny. In such a case, the predictedtemperature of the mobile machine may exceed a threshold temperature, inwhich the threshold temperature may be based on a component of themobile machine and/or the user of the mobile machine. Based on thepredicted weather conditions and/or the predicted temperature of themobile machine, the ranking 130 may reflect a more desirable selectableparking position 125. For example, the second parking position 125 branked 6^(th) may be exposed to the hot and sunny conditions, while then^(th) parking position 125 n ^(th) ranked 1^(st) may not be exposed tothe same hot and sunny conditions due to being located in anunderground/covered parking area that the threshold temperature may notbe exceeded.

In another example, the distance from the first target location to theparking area may be reflected in the ranking 130 of the selectableparking positions 125. For example, the distance from the first targetlocation to the second parking position 125 b ranked 6^(th) may be afarther distance than a distance from the first target location to then^(th) parking position 125 n ^(th) ranked 1^(st). Thus, the greatertime and energy expended by the mobile machine to travel the additionaldistance to the second parking position 125 b in comparison to then^(th) parking position 125 n ^(th) may be reflected by the respectiverankings.

In other examples, a distance from the second target location to theparking area, a time of day of the time period, and a time of year ofthe time period as described above in FIG. 1A (e.g., factors 112 a) mayalso be relevant factors 135 that affect the ranking 130. In the examplecase of the n^(th) parking position 125 n ^(th) of FIG. 1B, the distancefrom the second target location to the parking area, the time of day ofthe time period, and the time of year of the time period advantageouslyaffected the n^(th) parking position 125 n ^(th) given the ranking 130of 1^(st). However, these and other suitable factors 135 not shown mayalso negatively affect the ranking 130 of any selectable parkingposition 125.

FIG. 1C illustrates an example application of selecting a parkingposition within any of FIGS. 1A-1B such as the selectable parkingpositions 125. As illustrated, FIG. 1C includes BLDG A and BLDG B,shadow profiles 150 a/150 b, shadow profiles 155 a/155 b, and a parkingposition 140 and a parking position 145.

In some embodiments, BLDG A and BLDG B may be examples of the one ormore shade-providing objects discussed above. The shadow profile 150 aand the shadow profile 155 a may be example shadow profiles of theshadow profiles 115 described above. The shadow profile 150 a and theshadow profile 155 a may be 2-dimensional depictions of a shadow thatcorresponds to BLDG A. The shadow profile 150 a may correspond to theshadow of BLDG A at time=t1. The shadow profile 155 a may correspond tothe shadow of BLDG A at time=t2, in which t2 is at a different time thant1.

The shadow profile 150 b and the shadow profile 155 b may be exampleshadow profiles of the shadow profiles 115 described above. The shadowprofile 150 b and the shadow profile 155 b may be 2-dimensionaldepictions of a shadow that corresponds to BLDG B. The shadow profile150 b may correspond to the shadow of BLDG B at time=t1. The shadowprofile 155 b may correspond to the shadow of BLDG B at time=t2, inwhich t2 is at a different time than t1.

According to the example as illustrated in FIG. 1C, the parking position140 may be covered 100% by the shadow profile 150 a at t1. At t2,however, the shadow profile 155 a may cover 0% of the parking position140. With respect to the parking position 145, the shadow profile 150 bmay cover 50% of the parking position 145 at t1. Then, at t2, the shadowprofile 155 b may cover 100% of the parking position 145. Thus, theranking of the parking position 140 and the parking position 145(according to the ranking description above in conjunction with FIG. 1B)may be dependent on whether shade for the mobile machine is desired ornot desired. If shade is desired, the parking position 145 may rankhigher than the parking position 140 because the parking position 145may be shaded comparatively more than the parking position 140. If shadeis not desired, however, the parking position 140 may rank higher thanthe parking position 145 because the parking position 140 may be shadedcomparatively less than the parking position 145. Thus, the parkingposition 140 and the parking position 145 may have a uniqueshadow-position relationship with the shadow created by the respectiveshade-providing object, which shadow-position relationship may helpdetermine the ranking 130 of the corresponding parking position.

In some embodiments, the parking module 120 may select the parkingposition 140 or the parking position 145 based on one of the respectiveparking positions ranking higher than the other. For example, theparking module 120 may gather all scores of the respective selectableparking positions 125 (such as the parking position 140 and the parkingposition 145) and perform any suitable operation to filter, sort, etc.to determine the highest ranking selectable parking position 125.

After determining the highest ranking selectable parking position 125and selecting the highest ranking selectable parking position 125, theparking module 120 may cause the mobile machine to park at, for example,the parking position 140. For instance, the parking module 120 maycommunicate with any electro-mechanical or other suitable system of themobile machine that is configured to move the mobile machine to theparking position 140.

In some embodiments, the parking module 120 may determine a trajectorybetween any of the selectable parking positions 125, for example,between the parking position 140 and the parking position 145. The“trajectory” as described in the present disclosure may include any pathalong which the mobile machine may travel. In some embodiments, theparking module 120 may use any input associated with the visualrecognition techniques, the non-visual recognition techniques, sensorydetection operations, imaging analysis operations, etc. described aboveto determine the trajectory. For example, the trajectory (e.g., betweenthe parking position 140 and the parking position 145) may be ashortest-time path, a shortest-distance path, a low-energy path, astraight path, a flight path, a street-driving path, a sidewalk path, orsome other suitable path along which the mobile machine may travel.

In these or other embodiments, the trajectory, like the selectableparking positions 125, may be ranked as described above with respect toFIG. 1B. To do so, the parking module 120 may predict an amount ofenergy use required to move the mobile machine along a trajectory. Forexample, a total amount of energy required to move the mobile machinefrom the first target location to the parking position 140 may be Xamount of energy. In the case that the mobile machine moves from thefirst target position to the second parking position 145 along a giventrajectory during the time period, the energy required to move themobile machine along the given trajectory may require Y amount ofenergy. Thus, the normalized_energy_required for the first parkingposition described above may be represented as X/(X+Y) in which (X isdivided by the sum of X and Y) and may be a predicted value asdetermined by the parking module 120. In this manner, one move mayconsume more than 0% but less than 100%, two moves may consume more thanone move, and so on.

If the predicted amount of energy required to move the mobile machinealong the given trajectory is small (e.g., the normalized energyrequired is a low percentage such as 5%, 10% or some other suitablepercentage), then the given trajectory may be ranked high and, in turn,selected by the parking module 120. Alternatively, if the predictedamount of energy required to move the mobile machine along the giventrajectory is large (e.g., the normalized_energy_required is a highpercentage such as 75%, 50% or some other suitable percentage), then thegiven trajectory may be ranked low and, in turn, affirmativelydeselected or not selected by the parking module 120. In the secondexample of a predicted large normalized energy requirement, the energyrequired to move the mobile machine along the given trajectory may bemore energy than could be additionally attained at the other parkingposition, e.g., the parking position 145. In terms of cost-benefitanalysis, moving the mobile machine along the given trajectory to theparking position 145 may result in more energy loss (costs) than energygains (benefits). However, in other example scenarios, the cost-benefitanalysis may be different. For example, moving the mobile machine alongthe given trajectory to the parking position 145 may result insignificant energy loss to the mobile machine (costs), but componentfailure may be prevented (benefits), which may outweigh significantenergy loss. In these or other embodiments, the parking module 120 maypredict the amount of energy required to move the mobile machine alongthe trajectory using any computational operation involving the mobilemachine parameters 110 a/110 b, the factors 112 a/112 b, etc. describedabove.

In these or other embodiments, the parking module 120 may obtain updatedmobile machine parameters 110 a/110 b. For example, as factors 112 a/112b change, one or both of the mobile machine parameters 110 a (currentvalues) and mobile machine parameters 110 b (predicted values) maychange. As the parking module 120 obtains updates, such as the updatedmobile machine parameters 110 a/110 b, the ranking 130 of respectiveselectable parking positions 125 and/or trajectories may, in turn, beupdated.

If, after updating the rankings 130 and/or determining another higherranking selectable parking position 125 with a suitable trajectorythereto, then the parking module 120 may cause the mobile machine tomove to a different parking position, for example the parking position145, from the parking position 140. For instance, the parking module 120may communicate with any electro-mechanical or other suitable system ofthe mobile machine that is configured to move the mobile machine to theparking position 145.

Modifications, additions, or omissions may be made to the environment100 without departing from the scope of the present disclosure. Forexample, the environment 100 may include other elements than thosespecifically listed. For instance, the number and type of inputs intothe parking module 120 may vary. Additionally, the environment 100 maybe included in any number of different systems or devices.

FIG. 2 illustrates a block diagram of an example computing system 201.The computing system 201 may be configured according to at least oneembodiment of the present disclosure and may be configured to performone or more operations related to generating an ASR output. Thecomputing system 201 may include a processor 250, a memory 252, and adata storage 254. The processor 250, the memory 252, and the datastorage 254 may be communicatively coupled

In general, the processor 250 may include any suitable special-purposeor general-purpose computer, computing entity, or processing deviceincluding various computer hardware or software modules and may beconfigured to execute instructions stored on any applicablecomputer-readable storage media. For example, the processor 250 mayinclude a microprocessor, a microcontroller, a digital signal processor(DSP), an application-specific integrated circuit (ASIC), aField-Programmable Gate Array (FPGA), or any other digital or analogcircuitry configured to interpret and/or to execute program instructionsand/or to process data. Although illustrated as a single processor inFIG. 2, the processor 250 may include any number of processorsconfigured to, individually or collectively, perform or directperformance of any number of operations described in the presentdisclosure. Additionally, one or more of the processors may be presenton one or more different electronic devices, such as different servers.

In some embodiments, the processor 250 may be configured to interpretand/or execute program instructions and/or process data stored in thememory 252, the data storage 254, or the memory 252 and the data storage254. In some embodiments, the processor 250 may fetch programinstructions from the data storage 254 and load the program instructionsin the memory 252. After the program instructions are loaded into memory252, the processor 250 may execute the program instructions.

For example, in some embodiments, the ASR output module 102 of FIG. 1may be included in the data storage 254 as program instructions. Theprocessor 250 may fetch the corresponding program instructions from thedata storage 254 and may load the program instructions in the memory252. After the program instructions of the ASR output module 102 areloaded into memory 252, the processor 250 may execute the programinstructions such that the computing system 204 may perform or directthe performance of the operations associated with the ASR output module102 as directed by the instructions.

The memory 252 and the data storage 254 may include computer-readablestorage media for carrying or having computer-executable instructions ordata structures stored thereon. Such computer-readable storage media mayinclude any available media that may be accessed by a general-purpose orspecial-purpose computer, such as the processor 250. By way of example,and not limitation, such computer-readable storage media may includetangible or non-transitory computer-readable storage media includingRandom Access Memory (RAM), Read-Only Memory (ROM), ElectricallyErasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-OnlyMemory (CD-ROM) or other optical disk storage, magnetic disk storage orother magnetic storage devices, flash memory devices (e.g., solid statememory devices), or any other storage medium which may be used to carryor store particular program code in the form of computer-executableinstructions or data structures and which may be accessed by ageneral-purpose or special-purpose computer. In these and otherembodiments, the term “non-transitory” as explained in the presentdisclosure should be construed to exclude only those types of transitorymedia that were found to fall outside the scope of patentable subjectmatter in the Federal Circuit decision of In re Nuijten, 500 F.3d 1346(Fed. Cir. 2007). Combinations of the above may also be included withinthe scope of computer-readable media.

Modifications, additions, or omissions may be made to the computingsystem 201 without departing from the scope of the present disclosure.For example, in some embodiments, the computing system 201 may includeany number of other components that may not be explicitly illustrated ordescribed.

FIG. 3 illustrates an example environment 300 configured to presentcommunications that may include determining selectable parking positions(e.g., the selectable parking positions 120 of FIG. 1). The environment300 may be arranged in accordance with at least one embodiment describedin the present disclosure. The environment 300 may include a network305, a server 310, a mobile machine 315, a user device 320, and a user325. Modifications, additions, or omissions may be made to theenvironment 300 without departing from the scope of the presentdisclosure.

FIG. 3 may describe operation of various elements of the environment 300in relation to each other. For example, the network 305 may provide acommunication pathway between various elements of the environment 300.In this manner, the network 305 may serve as a communication bridgebetween one or more of: the server 310, the mobile machine 315, the userdevice 320, the user 325, and/or any combinations thereof. Additionallyor alternatively, some communications may be direct communicationswithout the network 305.

For example, in some embodiments, the user 325 may communicate directlywith one or both of the mobile machine 315 and the user device 320 viavoice commands, haptic input, etc. For instance, the user 325 may give avoice-command to the mobile machine 315 to park at a given parkingposition in the selectable parking positions 120. In other embodiments,the network 305 may be part of various communications as described inthe present disclosure. For example, the mobile machine parameters 110 amay be sent to the server 310 from the mobile machine 315 via thenetwork 305. Additionally or alternatively, for instance, the selectableparking positions 120 may be determined by the parking module 120 thatmay be within the user device 320 that may then communicate theselectable parking positions 120 to the mobile machine 315 via thenetwork 305. In these or other embodiments, the constraints 105, themobile machine parameters 110 a/110 b, the factors 112 a/112 b, theshadow profiles 115, the shadow-position relationships 117, theselectable parking positions 120, etc. may each individually or in somecombination be communicated over the network 305 to/from one or moreelements in the environment 300, including the server 310, the mobilemachine 315, and the user device 320.

In some embodiments, the network 305 may be any network or configurationof networks configured to send and receive communications betweensystems and devices. In some embodiments, the network 305 may include aconventional type network, a wired or wireless network, and may havenumerous different configurations. Additionally or alternatively, thenetwork 305 may include any suitable topology, configuration orconfigurations including a star configuration, token ring configuration,or other configurations. The network 305 may include a local areanetwork (LAN), a wide area network (WAN) (e.g., the Internet), DECT ULE,and/or other interconnected data paths across which multiple devices maycommunicate. In some embodiments, the network 305 may include apeer-to-peer network. The network 305 may also be coupled to or includeportions of a telecommunications network that may enable communicationof data in a variety of different communication protocols. In someembodiments, the network 305 may include BlueTooth® communicationnetworks (e.g., MESH Bluetooth) and/or cellular communication networksfor sending and receiving data including via short messaging service(SMS), multimedia messaging service (MMS), hypertext transfer protocol(HTTP), direct data connection, wireless application protocol (WAP),e-mail, or the like. Further, the network 305 may include WiFi, NFC,LTE, LTE-Advanced, ZigBee®, LoRA®—a wireless technology developed toenable low data rate communications to be made over long distances bysensors and actuators for machine to machine communication and internetof things (IoT) applications—wireless USB, or any other such wirelesstechnology.

The server 310 may include a processor-based computing device. Forexample, the server 310 may include a hardware server or anotherprocessor-based computing device that may function as a server. Theserver 310 may include memory and network communication capabilities.

The mobile machine 315 may include device or machine that is movablefrom a first geographic position (e.g., “Point A”) to a secondgeographic position (e.g., “Point B”). In these or other embodiments,the mobile machine 315 may be autonomous or semi-autonomous with respectto moving between geographic positions. Alternatively, the mobilemachine 315 may be human-operated between geographic positions. Examplesof the mobile machine 315 may include robots, drones, self-driving cars,human-operated cars, equipment (e.g., construction/maintenance equipmentsuch as a backhoe, a street-sweeper, a steam roller, etc.), storage pods(e.g., a transportable storage unit, etc.), or any other suitabledevices configured to move between geographic positions. In someembodiments, the mobile machine 315 may include memory and at least oneprocessor, which are configured to perform operations as described inthis disclosure, among other operations. In some embodiments, the mobilemachine 315 may include computer-readable instructions that areconfigured to be executed by the mobile machine 315 to performoperations described in this disclosure. For example, in someembodiments, the mobile machine 315 may include a computing system suchas the computing system 201 of FIG. 2.

The user device 320 may include a smart phone, a cellphone, a telephone,a smart watch, a tablet, a laptop, a desktop, a smart home device, avoice-controlled device, a remote, a controller, a navigation device, avehicle-installed device, a personal assistant device, or any othercomputing device. In some embodiments, the user device 320 may includememory and at least one processor, which are configured to performoperations as described in this disclosure, among other operations. Insome embodiments, the user device 320 may include computer-readableinstructions that are configured to be executed by the user device 320to perform operations described in this disclosure. For example, in someembodiments, the user device 320 may include a computing system such asthe computing system 201 of FIG. 2.

The user 325 may include any end users of the mobile machine 315.Example end users may include drivers, passengers, ride hailers,transportation directors/controllers, shipment personnel, inventorypersonnel, construction workers, etc., without limitation and includingother suitable end users.

FIG. 4 is a flowchart of an example method 400 to determine selectableparking positions based on one or more of constraints, mobile machineparameters, shadow profiles, factors, and shadow-position relationships.The method 400 may be arranged in accordance with at least oneembodiment described in the present disclosure. The method 400 may beimplemented, in some embodiments, by the parking module 120 of FIG. 1Aor the system 201 of FIG. 2. In some embodiments, the method 400 mayresult from operations performed by a system based on instructionsstored in one or more computer-readable media. Although illustrated asdiscrete blocks, various blocks may be divided into additional blocks,combined into fewer blocks, or eliminated, depending on the particularimplementation.

The method 400 may include a block 402 where a parking area constraintmay be obtained. The parking area constraint may delineate a parkingarea/parking position within which a mobile machine is designated topark. At block 404, a time constraint may be obtained. The timeconstraint may delineate a time period that the mobile machine isdesignated to park in the parking area/parking position. In these orother embodiments, the parking area constraint and/or the timeconstraint may be based on one or more of: permissible parking times ordays in the parking area, maximum duration of parking in the parkingarea, maintenance times, and construction.

At block 406, one or more mobile machine parameters may be obtained. Theone or more mobile machine parameters for the mobile machine may beaffected by an amount of sunlight that irradiates the mobile machine. Insome embodiments, the one or more mobile machine parameters include oneor more of: a current temperature of the mobile machine, a predictedtemperature of the mobile machine, a target temperature of the mobilemachine, an electrical output of a solar panel system of the mobilemachine, a current charge level of a battery system of the mobilemachine, a predicted charge level of the battery system, a predictedcharge rate of the battery system, a current charge rate of the batterysystem, and a target charge level of the battery system. In one or moreof the blocks 402, 404, or 406, the obtaining may include accessing,receiving, acquiring, retrieving, generating, determining, identifying,or any other suitable operation to obtain the various inputs.

At block 408, a first parking position and a second parking position maybe determined. The first parking position may be based on the parkingarea constraint and the time constraint, and may be within the parkingarea during the time period. The second parking position may be based onthe parking area constraint and the time constraint, and may be withinthe parking area during the time period. At block 410, one or moreshade-providing objects may be identified. The one or moreshade-providing objects may provide shade within the parking area.

At block 412, one or more shadow profiles may be determined. The one ormore shadow profiles may be based on the one or more shade-providingobjects. In some embodiments, each shadow profile may be for arespective shadow created by a respective one of the one or moreshade-providing objects during the time period. Additionally oralternatively, determining the one or more shadow profiles may includedetermining movement of each respective shadow during the time period.

At block 414, a first shadow-position relationship and a secondshadow-position relationship may be determined. The firstshadow-position relationship may be based on the time constraint, theparking area constraint, and the one or more shadow profiles. The firstshadow-position relationship may indicate shade provided at the firstparking position during the time period. The second shadow-positionrelationship may be based on the time constraint, the parking areaconstraint, and the one or more shadow profiles. The secondshadow-position relationship may indicate shade provided at the secondparking position during the time period.

At block 416, the first parking position may be selected instead of thesecond parking position. The selecting may be based on the firstshadow-position relationship, the second shadow-position relationship,and the one or more mobile machine parameters. At block 418, the mobilemachine may be caused to park at the first parking position. The mobilemachine may be caused to park at the first parking position in responseto the selecting of the first parking position.

Other blocks, though not necessarily illustrated, may include one ormore operations. For example, operations may include determining one ormore factors that affect the one or more mobile machine parameters. Insome embodiments, the one or more factors may include one or more of: atime of day of the time period, a time of year of the time period,current weather conditions of the parking area during the time period,predicted weather conditions of the parking area during the time period,a distance from a first target location to the parking area, and adistance from the parking area to a second target location, energy coststo move to or between various positions, and so on. Additionally oralternatively, operations may include determining at least one of theone or more mobile machine parameters are based on the one or morefactors described above.

Operations may also include one or more of: determining a trajectorybetween the first parking position and the second parking position,predicting an amount of energy use to move the mobile machine along thetrajectory between the first parking position and the second parkingposition, and causing the mobile machine to move from the first parkingposition to the second parking position based on the predicted amount ofenergy use, the one or more mobile machine parameters, and the movementof one or more shadows.

Operations may also include one or more of: causing the mobile machineto move from the first parking position to the second parking positionbased on the one or more mobile machine parameters and the movement ofone or more shadows; ranking the first parking position and the secondparking position with respect to each other based on the firstshadow-position relationship, the second shadow-position relationship,and the one or more mobile machine parameters; and selecting the firstparking position over the second parking position based on the firstparking position being ranked higher than the second parking position.

Operations may also include one or more of updating the one or moremobile machine parameters while the mobile machine is parked at thefirst parking position and causing the mobile machine to move to thesecond parking position based on the updated one or more mobile machineparameters.

Modifications, additions, or omissions may be made to method 400 withoutdeparting from the scope of the present disclosure. For example, thefunctions and/or operations described may be implemented in differingorder than presented or one or more operations may be performed atsubstantially the same time. Additionally, one or more operations may beperformed with respect to each of multiple virtual computingenvironments at the same time. Furthermore, the outlined functions andoperations are only provided as examples, and some of the functions andoperations may be optional, combined into fewer functions andoperations, or expanded into additional functions and operations withoutdetracting from the essence of the disclosed embodiments. For example,the selectable parking positions may be based on any number of inputsand not just the constraints, mobile machine parameters, and factors.Additionally or alternatively, the selectable parking positions may bebased on any number of inputs and determinations such as the shadowprofiles, shadow-position relationships, predicted mobile machineparameters, predicted factors, or any other suitable determination withrespect to the selectable parking positions.

As indicated above, the embodiments described in the present disclosuremay include the use of a special purpose or general purpose computer(e.g., the processor 250 of FIG. 2) including various computer hardwareor software modules, as discussed in greater detail below. Further, asindicated above, embodiments described in the present disclosure may beimplemented using computer-readable media (e.g., the memory 252 or datastorage 254 of FIG. 2) for carrying or having computer-executableinstructions or data structures stored thereon.

In some embodiments, the different components, modules, engines, andservices described herein may be implemented as objects or processesthat execute on a computing system. While some of the systems andmethods described in the present disclosure are generally described asbeing implemented in software (stored on and/or executed by generalpurpose hardware), specific hardware implementations or a combination ofsoftware and specific hardware implementations are also possible andcontemplated.

In accordance with common practice, the various features illustrated inthe drawings may not be drawn to scale. The illustrations presented inthe present disclosure are not meant to be actual views of anyparticular apparatus (e.g., device, system, etc.) or method, but aremerely idealized representations that are employed to describe variousembodiments of the disclosure. Accordingly, the dimensions of thevarious features may be arbitrarily expanded or reduced for clarity. Inaddition, some of the drawings may be simplified for clarity. Thus, thedrawings may not depict all of the components of a given apparatus(e.g., device) or all operations of a particular method.

Terms used in the present disclosure and especially in the appendedclaims (e.g., bodies of the appended claims) are generally intended as“open” terms (e.g., the term “including” should be interpreted as“including, but not limited to,” the term “having” should be interpretedas “having at least,” the term “includes” should be interpreted as“includes, but is not limited to,” etc.).

Additionally, if a specific number of an introduced claim recitation isintended, such an intent will be explicitly recited in the claim, and inthe absence of such recitation no such intent is present. For example,as an aid to understanding, the following appended claims may containusage of the introductory phrases “at least one” and “one or more” tointroduce claim recitations. However, the use of such phrases should notbe construed to imply that the introduction of a claim recitation by theindefinite articles “a” or “an” limits any particular claim containingsuch introduced claim recitation to embodiments containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should be interpreted to mean “at least one”or “one or more”); the same holds true for the use of definite articlesused to introduce claim recitations.

In addition, even if a specific number of an introduced claim recitationis explicitly recited, such recitation should be interpreted to mean atleast the recited number (e.g., the bare recitation of “tworecitations,” without other modifiers, means at least two recitations,or two or more recitations). Furthermore, in those instances where aconvention analogous to “at least one of A, B, and C, etc.” or “one ormore of A, B, and C, etc.” is used, in general such a construction isintended to include A alone, B alone, C alone, A and B together, A and Ctogether, B and C together, or A, B, and C together, etc. For example,the use of the term “and/or” is intended to be construed in this manner.

Further, any disjunctive word or phrase presenting two or morealternative terms, whether in the description, claims, or drawings,should be understood to contemplate the possibilities of including oneof the terms, either of the terms, or both terms. For example, thephrase “A or B” should be understood to include the possibilities of “A”or “B” or “A and B.”

Additionally, the use of the terms “first,” “second,” “third,” etc., arenot necessarily used in the present disclosure to connote a specificorder or number of elements. Generally, the terms “first,” “second,”“third,” etc., are used to distinguish between different elements asgeneric identifiers. Absence a showing that the terms “first,” “second,”“third,” etc., connote a specific order, these terms should not beunderstood to connote a specific order. Furthermore, absence a showingthat the terms first,” “second,” “third,” etc., connote a specificnumber of elements, these terms should not be understood to connote aspecific number of elements. For example, a first widget may bedescribed as having a first side and a second widget may be described ashaving a second side. The use of the term “second side” with respect tothe second widget may be to distinguish such side of the second widgetfrom the “first side” of the first widget and not to connote that thesecond widget has two sides.

All examples and conditional language recited in the present disclosureare intended for pedagogical objects to aid the reader in understandingthe invention and the concepts contributed by the inventor to furtheringthe art, and are to be construed as being without limitation to suchspecifically recited examples and conditions. Although embodiments ofthe present disclosure have been described in detail, it should beunderstood that the various changes, substitutions, and alterationscould be made hereto without departing from the spirit and scope of thepresent disclosure.

What is claimed is:
 1. A method comprising: obtaining a parking areaconstraint that delineates a parking area within which a mobile machineis designated to park; obtaining a time constraint that delineates atime period that the mobile machine is designated to park in the parkingarea; obtaining one or more mobile machine parameters for the mobilemachine in which the one or more mobile machine parameters are affectedby an amount of sunlight that irradiates the mobile machine;determining, based on the parking area constraint and the timeconstraint, a first parking position within the parking area during thetime period; determining, based on the parking area constraint and thetime constraint, a second parking position within the parking areaduring the time period; identifying, based on the parking areaconstraint, one or more shade-providing objects that provide shadewithin the parking area; determining, based on the one or moreshade-providing objects, one or more shadow profiles in which eachshadow profile is for a respective shadow created by a respective one ofthe one or more shade-providing objects during the time period;determining, based on the time constraint, the parking area constraint,and the one or more shadow profiles, a first shadow-positionrelationship that indicates shade provided at the first parking positionduring the time period; determining, based on the time constraint, theparking area constraint, and the one or more shadow profiles, a secondshadow-position relationship that indicates shade provided at the secondparking position during the time period; selecting for the mobilemachine to park at the first parking position instead of the secondparking position based on the first shadow-position relationship, thesecond shadow-position relationship, and the one or more mobile machineparameters.
 2. The method of claim 1, wherein the one or more mobilemachine parameters include one or more of: a current temperature of themobile machine, a predicted temperature of the mobile machine, a targettemperature of the mobile machine, an electrical output of a solar panelsystem of the mobile machine, a current charge level of a battery systemof the mobile machine, a predicted charge level of the battery system, apredicted charge rate of the battery system, a current charge rate ofthe battery system, and a target charge level of the battery system. 3.The method of claim 2, further comprising: determining one or morefactors that affect the one or more mobile machine parameters; anddetermining at least one of the one or more mobile machine parametersbased on the one or more factors.
 4. The method of claim 3, wherein theone or more factors include one or more of: a time of day of the timeperiod, a time of year of the time period, current weather conditions ofthe parking area during the time period, predicted weather conditions ofthe parking area during the time period, a distance from a first targetlocation to the parking area, a distance from the parking area to asecond target location, and an energy cost to move to or from one ormore of the first target location, the second target location, and theparking area.
 5. The method of claim 1, wherein determining the one ormore shadow profiles includes determining movement of each respectiveshadow during the time period.
 6. The method of claim 5, furthercomprising: determining a trajectory between the first parking positionand the second parking position; predicting an amount of energy use tomove the mobile machine along the trajectory between the first parkingposition and the second parking position; and causing the mobile machineto move from the first parking position to the second parking positionbased on the predicted amount of energy use, the one or more mobilemachine parameters, and the movement of one or more shadows.
 7. Themethod of claim 5, further comprising causing the mobile machine to movefrom the first parking position to the second parking position based onthe one or more mobile machine parameters and the movement of one ormore shadows.
 8. The method of claim 1, further comprising: ranking thefirst parking position and the second parking position with respect toeach other based on the first shadow-position relationship, the secondshadow-position relationship, and the one or more mobile machineparameters; and selecting the first parking position over the secondparking position further based on the first parking position beingranked higher than the second parking position.
 9. The method of claim1, further comprising: updating the one or more mobile machineparameters while the mobile machine is parked at the first parkingposition; and causing the mobile machine to move to the second parkingposition based on the updated one or more mobile machine parameters. 10.The method of claim 1, wherein one or more of the parking areaconstraint and the time constraint are based on one or more of:permissible parking times or days in the parking area, maximum durationof parking in the parking area, maintenance times, and construction. 11.A non-transitory computer-readable medium having encoded thereinprogramming code executable by one or more processors to perform orcontrol performance of operations comprising: obtaining a parking areaconstraint that delineates a parking area within which a mobile machineis designated to park; obtaining a time constraint that delineates atime period that the mobile machine is designated to park in the parkingarea; obtaining one or more mobile machine parameters for the mobilemachine in which the one or more mobile machine parameters are affectedby an amount of sunlight that irradiates the mobile machine;determining, based on the parking area constraint and the timeconstraint, a first parking position within the parking area during thetime period; determining, based on the parking area constraint and thetime constraint, a second parking position within the parking areaduring the time period; identifying, based on the parking areaconstraint, one or more shade-providing objects that provide shadewithin the parking area; determining, based on the one or moreshade-providing objects, one or more shadow profiles in which eachshadow profile is for a respective shadow created by a respective one ofthe one or more shade-providing objects during the time period;determining, based on the time constraint, the parking area constraint,and the one or more shadow profiles, a first shadow-positionrelationship that indicates shade provided at the first parking positionduring the time period; determining, based on the time constraint, theparking area constraint, and the one or more shadow profiles, a secondshadow-position relationship that indicates shade provided at the secondparking position during the time period; selecting for the mobilemachine to park at the first parking position instead of the secondparking position based on the first shadow-position relationship, thesecond shadow-position relationship, and the one or more mobile machineparameters.
 12. The non-transitory computer-readable medium of claim 11,wherein the one or more mobile machine parameters include one or moreof: a current temperature of the mobile machine, a predicted temperatureof the mobile machine, a target temperature of the mobile machine, anelectrical output of a solar panel system of the mobile machine, acurrent charge level of a battery system of the mobile machine, apredicted charge level of the battery system, a predicted charge rate ofthe battery system, a current charge rate of the battery system, and atarget charge level of the battery system.
 13. The non-transitorycomputer-readable medium of claim 12, the operations further comprising:determining one or more factors that affect the one or more mobilemachine parameters; and determining at least one of the one or moremobile machine parameters based on the one or more factors.
 14. Thenon-transitory computer-readable medium of claim 13, wherein the one ormore factors include one or more of: a time of day of the time period, atime of year of the time period, current weather conditions of theparking area during the time period, predicted weather conditions of theparking area during the time period, a distance from a first targetlocation to the parking area, a distance from the parking area to asecond target location, and an energy cost to move to or from one ormore of the first target location, the second target location, and theparking area.
 15. The non-transitory computer-readable medium of claim10, wherein determining the one or more shadow profiles includesdetermining movement of each respective shadow during the time period.16. The non-transitory computer-readable medium of claim 15, theoperations further comprising: determining a trajectory between thefirst parking position and the second parking position; predicting anamount of energy use to move the mobile machine along the trajectorybetween the first parking position and the second parking position; andcausing the mobile machine to move from the first parking position tothe second parking position based on the predicted amount of energy use,the one or more mobile machine parameters, and the movement of one ormore shadows.
 17. The non-transitory computer-readable medium of claim15, the operations further comprising causing the mobile machine to movefrom the first parking position to the second parking position based onthe one or more mobile machine parameters and the movement of one ormore shadows.
 18. The non-transitory computer-readable medium of claim10, further comprising: ranking the first parking position and thesecond parking position with respect to each other based on the firstshadow-position relationship, the second shadow-position relationship,and the one or more mobile machine parameters; and selecting the firstparking position over the second parking position further based on thefirst parking position being ranked higher than the second parkingposition.
 19. The non-transitory computer-readable medium of claim 10,further comprising: updating the one or more mobile machine parameterswhile the mobile machine is parked at the first parking position; andcausing the mobile machine to move to the second parking position basedon the updated one or more mobile machine parameters.
 20. Thenon-transitory computer-readable medium of claim 10, wherein one or moreof the parking area constraint and the time constraint are based on oneor more of: permissible parking times or days in the parking area,maximum duration of parking in the parking area, maintenance times, andconstruction.